﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using DbLinq.Data.Linq;
using System.Data;

namespace BusStopDataAccess
{
    /// <summary>
    /// The standard way of using the database
    /// </summary>
    public interface IScheduleInfo : IDisposable
    {
        /// <summary>
        /// The list of all Bus stops
        /// </summary>
        Table<BusStops> BusStops { get; }
        /// <summary>
        /// The list of all departures for all busses and all stops (Very Large Avoid unneccesary use!)
        /// </summary>
        Table<Departures> Departures { get; }
        /// <summary>
        /// The list of all routes
        /// </summary>
        Table<Routes> Routes { get; }
        /// <summary>
        /// The list of all service schedules
        /// </summary>
        Table<Service> Service { get; }
        /// <summary>
        /// The list of dates associated with a service
        /// </summary>
        Table<ServiceDates> ServiceDates { get; }
        /// <summary>
        /// A mapping showing the distinct routes that depart from a given stop
        /// </summary>
        Table<RouteStops> RouteStops { get; }

        /// <summary>
        /// Commits any changes to the data 
        /// </summary>
        void SubmitChanges();
    }
}
